/* -File ---------------------------------------------------------------------*/
#define BSP_GPIO_EXT

/* -Includes -----------------------------------------------------------------*/
#include "stm32f1xx_hal.h"
#include "bsp_gpio.h"

/* -Private macro ------------------------------------------------------------*/
/* -Private variables --------------------------------------------------------*/
/* -Private function ---------------------------------------------------------*/
/* -Public function ----------------------------------------------------------*/
void bsp_gpio_init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
    
    //relese jtag, set PA15/PB3/PB4 as gpio
    __HAL_RCC_AFIO_CLK_ENABLE();
    __HAL_AFIO_REMAP_SWJ_NOJTAG();
    
	//LED
    
	__HAL_RCC_GPIOA_CLK_ENABLE();
	GPIO_InitStructure.Pin   = GPIO_PIN_15;
	GPIO_InitStructure.Speed = GPIO_SPEED_FREQ_HIGH;
	GPIO_InitStructure.Mode  = GPIO_MODE_OUTPUT_PP;
	GPIO_InitStructure.Pull  = GPIO_PULLUP;
	HAL_GPIO_Init(GPIOA, &GPIO_InitStructure);
}



void bsp_gpio_led_on(void)
{
   HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_SET);
}

void bsp_gpio_led_off(void)
{
    HAL_GPIO_WritePin(GPIOA, GPIO_PIN_15, GPIO_PIN_RESET);
}

void bsp_gpio_led_toggle(void)
{
    HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_15);
}

